summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/image_view_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/texture_cache/image_view_base.cpp')
-rw-r--r--src/video_core/texture_cache/image_view_base.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/image_view_base.cpp b/src/video_core/texture_cache/image_view_base.cpp
index 8f28342d5..30a7c11f5 100644
--- a/src/video_core/texture_cache/image_view_base.cpp
+++ b/src/video_core/texture_cache/image_view_base.cpp
@@ -26,7 +26,8 @@ ImageViewBase::ImageViewBase(const ImageViewInfo& info, const ImageInfo& image_i
ASSERT_MSG(VideoCore::Surface::IsViewCompatible(image_info.format, info.format, false, true),
"Image view format {} is incompatible with image format {}", info.format,
image_info.format);
- if (image_info.forced_flushed) {
+ const bool preemptive = !Settings::values.use_reactive_flushing.GetValue() && image_info.type == ImageType::Linear;
+ if (image_info.forced_flushed || preemptive) {
flags |= ImageViewFlagBits::PreemtiveDownload;
}
if (image_info.type == ImageType::e3D && info.type != ImageViewType::e3D) {